作者:手机用户2602905773 | 来源:互联网 | 2024-12-24 16:13
篇首语:本文由编程笔记#小编为大家整理,主要介绍了华为机试题 HJ9提取不重复的整数相关的知识,希望对你有一定的参考价值。 HJ9 提取不重复的整数 题目描述在这里插入图片描述 参考代码1参考代码
篇首语:本文由编程笔记#小编为大家整理,主要介绍了华为机试题 HJ9提取不重复的整数相关的知识,希望对你有一定的参考价值。
HJ9 提取不重复的整数
题目描述
输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
保证输入的整数最后一位不是 0 。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.TreeSet;
今后手动导这么多包麻烦,牺牲内存的,之前全导入就好了;
import java.io.*;
import java.util.*;
参考代码1
主要是利用集合的元素唯一性,但集合输出的元素又是不确定性的,不能按我们放入的顺序输出,所以需要再结合StringBuilder;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.TreeSet;
public class Main
public static void main(String[] args) throws IOException
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
while((str=br.readLine()) != null)
StringBuilder sb = new StringBuilder();
TreeSet<Character> set &#61; new TreeSet();
for(int i &#61; str.length() - 1; i >&#61; 0; i--)
char ch &#61; str.charAt(i);
if (!set.contains(ch))
sb.append(ch);
set.add(ch);
System.out.println(sb);
参考代码2
import java.util.*;
import java.io.*;
public class Main
public static void main (String [] args) throws IOException
BufferedReader br &#61; new BufferedReader(new InputStreamReader(System.in));
String str &#61; br.readLine();
int [] cnt &#61; new int [10];
int num &#61; Integer.parseInt(str);
StringBuilder sb &#61; new StringBuilder();
while (num > 0)
int digital &#61; num % 10;
if (cnt[digital] &#61;&#61; 0)
sb.append(digital);
cnt[digital]&#43;&#43;;
num /&#61; 10;
System.out.println(sb.toString());